[Coding010] DataStructure & LeetCode 206 & 92

单链表的Java实现 & Reverse Linked List Ⅰ&Ⅱ

Ben 2023/08/01

More coding records

Get the knowledge flowing and circulating! :)

目录

单链表 · Java

Java中单链表的实现,需要先定义一个类,ListNode

链表节点的类定义

单链表的结点类定义(简单版本)

单链表的结点类定义(复杂版本)

代码解释:

因为Java中没有指针,而对于一个结点而言,需要有指向自身的一种数据类型,所以,这里的类类型就嵌套使用自身。

Demo测试链表

Demo 链表的基本输出(Java小例子 · 完整可运行)

代码解读:

这里是可以运行的java链表小例子,可以看到链表中结点的定义和使用方法。

重点要关注链表中的头结点。

链表的整体反转 206. Reverse Linked List

reverseAll

这里是整体把链表翻转过来,采用头插法和尾插法均可。

注意dummy头结点。以及指针的链接。

重点:要找到待操作结点的前一个结点。

链表的局部反转 92. Reverse Linked List II

reversePart

重点还是一样:要找到待操作结点前面的一个结点。才能让链表不断!

必会单词

dummy / ˈdʌmi /

  • n.人体模型,假人(常用于陈列服装);(练习或训练中用的)仿制品,仿造物;玩具娃娃,玩偶;沉默的人;挂名者,虚设者,傀儡;<非正式>笨蛋,蠢人;(主要指橄榄球及英式足球中的)假传球(或踢球)动作;<英>橡皮(或塑料)奶头,橡皮奶嘴;(桥牌中的)明手牌;(惠斯特牌戏中的)虚拟搭档;(尤指版面的)空白样本(或样张),(书的)装帧样本;空包弹;(语法)假代的,形式的(只有语法功能而无语义的)

  • adj.假的,仿真的

  • v.(主要指橄榄球及英式足球中的)假传球(或踢球)动作

例句:

Dummy text is a veil between you and reality.

虚拟文字是隔在你和现实之间的面纱。